package ar.com.gestion.dominio;

import java.sql.Timestamp;
import java.util.LinkedList;
import java.util.List;

public class Venta {

	private int id;
	private Cliente cliente;
	private List<Producto> productos;
	private float saldo;
	private Timestamp fecha;
	private int porcentajePago;
	private Vendedor vendedor;
	private List<Pago> pagos;
	private int cuotas;
	private boolean fiado;

	public String toString() {

		return cliente.getNombre();

	}
	
	
	public float getMontoDePagosRealizados(){
		float monto = 0;
		for (Pago pago : pagos) {
			
			monto = monto +pago.getMonto();
			
		}
		
		return monto;
		
	}
	

	public boolean isFiado() {
		return fiado;
	}

	public void setFiado(boolean fiado) {
		this.fiado = fiado;
	}

	public int getId() {
		return id;
	}

	public void setId(int id) {
		this.id = id;
	}

	public Cliente getCliente() {
		return cliente;
	}

	public void setCliente(Cliente cliente) {
		this.cliente = cliente;
	}

	public List<Producto> getProductos() {
		return productos;
	}

	public void setProductos(List<Producto> productos) {
		this.productos = productos;
	}

	public float getSaldo() {
		return saldo;
	}

	public void setSaldo(float saldo) { 
		this.saldo = saldo;
	}

	public Timestamp getFecha() {
		return fecha;
	}

	public void setFecha(Timestamp fecha) {
		this.fecha = fecha;
	}

	public int getPorcentajePago() {
//		return (pagos.size() * 100) / cuotas;

		return (int)((getMontoDePagosRealizados()*100)/saldo);
		
	}

	public void setPorcentajePago(int porcentajePago) {
		this.porcentajePago = porcentajePago;
	}

	public Vendedor getVendedor() {
		return vendedor;
	}

	public void setVendedor(Vendedor vendedor) {
		this.vendedor = vendedor;
	}

	public List<Pago> getPagos() {
		return pagos;
	}

	public void setPagos(List<Pago> pagos) {
		this.pagos = pagos;
	}

	public int getCuotas() {
		return cuotas;
	}

	public void setCuotas(int cuotas) {
		this.cuotas = cuotas;
	}

	public void addPago(Pago pago) {
		if (pagos == null)
			pagos = new LinkedList<Pago>();
		pagos.add(pago);

	}

}
